# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Half-Life (Sven Co-op) Template

game: Half-Life (Sven Co-op)
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.

Half-Life (Sven Co-op):
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  include_half_life:
    # Include the Half-Life campaign in the seed.
    # 
    # 18 missions, ending at Nihilanth. Turn every campaign off and this one comes
    # back on regardless, because a seed has to contain something.
    'false': 0
    'true': 50

  include_opposing_force:
    # Include the Opposing Force campaign in the seed.
    # 
    # 10 missions, ending at Worlds Collide, and nine weapons Half-Life does not
    # have: the SAW, the sniper rifle, the displacer, the spore launcher, the
    # barnacle grapple and the rest. They join one shared pool, so enabling this
    # puts Opposing Force weapons in Half-Life's missions and the other way round.
    'false': 50
    'true': 0

  include_blue_shift:
    # Include the Blue Shift campaign in the seed.
    # 
    # 6 missions, ending at Power Struggle. It brings no weapons of its own -- in
    # Sven Co-op it uses Half-Life's, down to the crowbar -- so it is the campaign
    # that most wants another one enabled alongside it for variety.
    'false': 50
    'true': 0

  include_they_hunger:
    # Include the They Hunger campaign in the seed.
    # 
    # 3 missions across 19 maps, ending at Episode 3, and nine weapons of its own
    # from the tommy gun to the tesla gun.
    # 
    # Under strict logic, Episode 1 is enterable with a melee weapon and everything
    # after it expects a gun -- its own or one that travels, since Half-Life's and
    # Opposing Force's work here too. Loose logic drops that as it drops every
    # weapon gate.
    # 
    # Its check placement has not had a pass yet. It has only three chargers in the
    # whole campaign, so chargesanity barely touches it and almost all of its checks
    # come from reaching maps.
    'false': 50
    'true': 0

  missions_required:
    # How many Half-Life missions open Nihilanth.
    # 
    # Nihilanth is never unlocked by an item -- it becomes available once this many
    # other Half-Life missions have been finished. The default is every one of them.
    # 
    # Each campaign has its own version of this setting and they are completely
    # independent: Opposing Force progress does nothing for Nihilanth, and
    # Half-Life progress does nothing for Worlds Collide.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 17
    17: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-17: 0 # random value between 1 and 17

  opposing_force_missions_required:
    # How many Opposing Force missions open Worlds Collide.
    # 
    # Independent of every other campaign's setting. Ignored unless Opposing Force
    # is in the seed.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 11
    11: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-11: 0 # random value between 1 and 11

  blue_shift_missions_required:
    # How many Blue Shift missions open Power Struggle.
    # 
    # Power Struggle and the escape that follows it are the campaign's ending
    # rather than two more missions, so no item unlocks either: this count opens
    # Power Struggle, and clearing it opens A Leap Of Faith behind it. That leaves
    # five missions this can ask for, where it used to accept six.
    # 
    # Independent of every other campaign's setting. Ignored unless Blue Shift is
    # in the seed.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 5
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-5: 0 # random value between 1 and 5

  they_hunger_missions_required:
    # How many They Hunger episodes open Episode 3.
    # 
    # Independent of every other campaign's setting. Ignored unless They Hunger is
    # in the seed. There are only two other episodes, so this is 1 or 2.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 2
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-2: 0 # random value between 1 and 2

  logic_difficulty:
    # How much firepower logic assumes you need to clear a mission.
    # 
    # strict: a mission is only expected of you once you own a weapon suited to it.
    # Anything from We've Got Hostiles onward wants a firearm; Forget About Freeman
    # and Lambda Core want something heavier than a pistol; Xen onward wants the Tau
    # cannon and the RPG by name, plus the long jump module and HEV suit when those
    # are shuffled. Safe for anyone, and the default.
    # loose: weapon requirements are dropped entirely, so the generator may expect
    # you to clear Surface Tension with a crowbar and will happily place your only
    # gun behind a mission that assumes you already have one. The equipment gates on
    # Xen still apply.
    # 
    # Gates are per mission, not per part: being in logic means the mission is
    # enterable, not that every corner of it is comfortable.
    strict: 50
    loose: 0

  exclude_intro_missions:
    # Leave every campaign's scene-setting mission out of the seed.
    # 
    # One per campaign that has one, dropped together:
    # 
    # - **Black Mesa Inbound** (Half-Life) — the tram ride in.
    # - **Incoming** (Opposing Force) — the osprey ride in.
    # - **Living Quarters Outbound** (Blue Shift) — the tram ride the other way.
    # 
    # They Hunger has none; it opens on Episode 1 proper. Opposing Force's Boot
    # Camp is the training course rather than the intro and is not included in the 
    # apworld.
    # 
    # These are minutes of riding and listening with nothing to fight. Turned on,
    # each one goes entirely: no regions, no checks, no unlock item, and it stops
    # counting toward that campaign's Missions Required.
    # 
    # Note that the campaign portal has no console for Black Mesa Inbound — Valve's
    # hub room starts at Anomalous Materials — so when it is included, `!warp 0` is
    # the only way to travel there. The other two have consoles like any mission.
    'false': 0
    'true': 50

  chargesanity:
    # Every health charger and HEV charge panel is a check.
    # 
    # 107 of them, spread through the campaign, sent the moment you press use on
    # one — an empty charger counts, so this is about finding them rather than
    # needing them. Turn it off and the seed drops to the 48 mission checks plus
    # the 13 weapon checks, which makes for a much shorter run with far less filler.
    'false': 0
    'true': 50

  random_starting_weapon:
    # Start with a random melee weapon instead of the crowbar.
    # 
    # Picked from the campaigns in your seed, so an Opposing Force run can open
    # with its pipe wrench or combat knife and They Hunger with its spanner. With
    # only Half-Life or Blue Shift enabled there is nothing but the crowbar to pick,
    # and the setting changes nothing.
    # 
    # Whatever it lands on replaces the crowbar completely: the crowbar is then
    # refused for the rest of the run the way any ungranted weapon is, and if the
    # weapon it chose was an item that item leaves the pool. You always keep the
    # medkit.
    'false': 50
    'true': 0

  allow_restricted_starting_weapon:
    # Let `random_starting_weapon` also roll a campaign's own melee weapon.
    # 
    # Today that means exactly one thing: They Hunger's spanner, and only when They
    # Hunger is in the seed. It is a weapon its maps register themselves rather
    # than one the game ships, so it does not exist anywhere else -- start with it
    # and you are empty-handed in every other campaign until a real weapon arrives.
    # 
    # Logic does not model that. Anything past the point you would have picked up
    # your first melee weapon is technically out of logic until you are given
    # something, so this is off unless you want the rough edge.
    # 
    # Nothing to do with the umbrella, the shovel or the combat knife: those are
    # Half-Life's crowbar and pipe wrench wearing local models, and they travel
    # everywhere.
    'false': 50
    'true': 0

  shuffle_hev_suit:
    # Shuffle the HEV suit into the item pool.
    # 
    # What the item controls is armour: until it arrives, armour is held at zero
    # from every source — the campaign's own loadout, batteries, charge panels and
    # filler grants alike. You keep the suit itself throughout, because in GoldSrc
    # it is the suit that draws the weapon HUD and a player without one cannot
    # change weapons at all.
    # 
    # The Xen missions expect it either way, because the long jump module runs off
    # suit power.
    'false': 50
    'true': 0

  shuffle_longjump:
    # Shuffle the long jump module into the item pool.
    # 
    # When on, the Xen missions expect it in logic, and you cannot long jump until
    # the item arrives however many modules the campaign puts in front of you.
    # 
    # When off, the module is left to Half-Life entirely: no long jump early on,
    # and you pick it up where the campaign hands it over, in Forget About Freeman
    # and everything after it.
    'false': 50
    'true': 0

  trap_percentage:
    # Percentage of your filler items replaced by traps.
    # 
    # Three exist, all of them the whole lobby's problem, and all nuisances rather
    # than punishments — none can cost you a run:
    # 
    # - Scientist Trap: four scientists, one of each variant, appear around every
    #   player and start following them about.
    # - Headcrab Trap: four headcrabs each, same idea, considerably less friendly.
    # - Butterfingers Trap: everyone drops the weapon they are holding. The suit
    #   reissues it after half a minute if you cannot find it again.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    15: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  death_link_amnesty:
    # How many deaths the lobby is forgiven before one is sent to the multiworld.
    # 
    # Only outgoing DeathLinks are affected. Inside Sven Co-op the rule never
    # changes: any death still gibs the whole lobby, and the death message says how
    # much amnesty is left. Once the allowance runs out the next death goes out to
    # the multiworld and the allowance starts again.
    # 
    # 0 sends every death. The default forgives four.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 20
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-20: 0 # random value between 0 and 20

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
